#ifndef WATER_DATA_H
#define WATER_DATA_H

#include <QtCore>

//水浸设备WaterLogging
class CWaterData
{
public:
    bool IsCommNormal();
    bool IsCommFault();

    bool IsRunning();
    bool IsStopped();

    bool IsFault();
    bool IsNoFault();

    bool IsAlarm();
    bool IsNoAlarm();

    bool IsOpening();
    bool IsClosed();

    //获取***的显示文本
    QString GetCommStateText();

    void InitToInvalid();
    void InitToZero();
    void InitToValue(quint16 uvalue, float fvalue);

public:
    quint16 m_uCommState;           //1201 通讯状态 0--正常,1-故障
    quint16 m_uRev[99];
    float m_fRev[100];

    //转发的100个UINT16数据
    quint16 m_uRunState;            //1202 运行状态 0运行,1停止
    quint16 m_uFaultState;          //1203 故障状态 0正常,1故障
    quint16 m_uAlarmState;          //1204 告警状态 0正常,1告警
    quint16 m_uSwitchState;         //1205 开关机状态 0已开机,1已关机
    quint16 m_uAlarmEnable;         //1206 告警使能:0禁用,1开启

    quint16 m_uFaultEnable;         //1207 故障使能:0禁用,1开启

    quint16 m_uData[94];            //1208~1400 转发的UINT16数据:预留,数组数量=100-上面的转发数

    //转发的100个FLOAT数据
    float m_fData[100];              //1401~1799 转发的FLOAT数据:预留,数组数量=100-上面的转发数

    // 1201     1400	200	UINT16	200	读水浸的UNIT16数据	0x03/0x04	无	水浸数据
    // 1401     1800	400	FLOAT	200	读水浸的FLOAT数据	0x03/0x04	无
    // 30401    30600	200	UINT16	200	写水浸的数据	0x03/0x04	0x06

    //20401~20600 设置的数据:预留,数组数量=100-上面的设置数
    float m_fSetData[100];
    float m_fSetDataCopy[100];
    //上面100个浮点设置值
    //下面100个整形设置值
    quint16 m_uSetData[100];
    quint16 m_uSetDataCopy[100];
};

#endif //WATER_DATA_H
